package com.project.webservice.util;

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;

import java.security.MessageDigest;

public class MD5Encoder {

	/**
	 * 先MD5加密，然后在执行base64转码
	 * @param str
	 * @return
	 */
	public static String encode(String str) {
		MessageDigest messagedigest = null;
		try {
			messagedigest = MessageDigest.getInstance("MD5"); //创建消息摘要
			messagedigest.update(str.getBytes("UTF-8"));  //用明文字符串计算消息摘要。
			byte[] abyte0 = messagedigest.digest(); //读取消息摘要。
			
			String password = new String(Base64.encodeBase64(abyte0));
			return password;
		} catch (Exception e) {
			throw new RuntimeException("数据加密出现异常!", e);
		}
	}
	
	 public static String md5Hex(String data) {
		 return DigestUtils.md5Hex(data);
	 }
	
}
